package com.ruoyi.warning.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 告警设备表
 * </p>
 *
 * @author chenhc
 * @since 2025-02-14
 */
@Data
@TableName("devices")
@ApiModel("设备")
@SuppressWarnings("serial")
public class Device {


    @ApiModelProperty("告警设备id")
    @TableId(value = "device_id", type = IdType.AUTO)
    private Integer deviceId;

    @ApiModelProperty("插入时间")
    private String inserted;

    @Excel(name = "IP地址",sort = 1)
    @ApiModelProperty("主机名")
    private String hostname;

    @ApiModelProperty("系统名称")
    @TableField("sysName")
    private String sysName;

    @ApiModelProperty("显示信息")
    private String display;

    @ApiModelProperty("IP地址")
    private String ip;

    @ApiModelProperty("覆盖IP地址")
    private String overwriteIp;

    @ApiModelProperty("SNMP社区字符串")
    private String community;

    @ApiModelProperty("认证级别")
    private String authlevel;

    @ApiModelProperty("认证名称")
    private String authname;

    @ApiModelProperty("认证密码")
    private String authpass;

    @ApiModelProperty("认证算法")
    private String authalgo;

    @ApiModelProperty("加密密码")
    private String cryptopass;

    @ApiModelProperty("加密算法")
    private String cryptoalgo;

    @ApiModelProperty("SNMP版本")
    private String snmpver;

    @ApiModelProperty("端口号")
    @TableField("`port`")
    private Integer port;

    @ApiModelProperty("传输协议")
    private String transport;

    @ApiModelProperty("超时时间")
    private Integer timeout;

    @ApiModelProperty("重试次数")
    private Integer retries;

    @JsonProperty("snmp_disable")
    @ApiModelProperty("是否禁用SNMP")
    private Integer snmpDisable;

    @ApiModelProperty("BGP本地自治系统号")
    @TableField("bgpLocalAs")
    private String bgpLocalAs;

    @ApiModelProperty("系统对象ID")
    @TableField("sysObjectID")
    private String sysObjectID;

    @ApiModelProperty("系统描述")
    @TableField("sysDescr")
    private String sysDescr;

    @ApiModelProperty("系统联系人")
    @TableField("sysContact")
    private String sysContact;

    @ApiModelProperty("版本信息")
    private String version;

    @ApiModelProperty("硬件信息")
    private String hardware;

    @ApiModelProperty("特性信息")
    private String features;

    @ApiModelProperty("位置ID")
    private String locationId;

    @ApiModelProperty("操作系统")
    private String os;

    @ApiModelProperty("设备状态")
    @TableField("`status`")
    private Integer status;

    @ApiModelProperty("状态原因")
    private String statusReason;

    @ApiModelProperty("是否忽略")
    @TableField("`ignore`")
    private Integer ignore;

    @ApiModelProperty("是否禁用")
    private Integer disabled;

    @ApiModelProperty("系统运行时间")
    private String uptime;

    @ApiModelProperty("代理运行时间")
    private Integer agentUptime;

    @ApiModelProperty("最后轮询时间")
    private String lastPolled;

    @ApiModelProperty("最后轮询尝试时间")
    private String lastPollAttempted;

    @ApiModelProperty("最后轮询耗时")
    private Double lastPolledTimetaken;

    @ApiModelProperty("最后发现耗时")
    private Double lastDiscoveredTimetaken;

    @ApiModelProperty("最后发现时间")
    private String lastDiscovered;

    @ApiModelProperty("最后Ping时间")
    private String lastPing;

    @ApiModelProperty("最后Ping耗时")
    private Double lastPingTimetaken;

    @ApiModelProperty("用途")
    @Excel(name = "用途")
    private String purpose;

    @ApiModelProperty("类型")
    private String type;

    @ApiModelProperty("序列号")
    private String serial;

    @ApiModelProperty("图标")
    private String icon;

    @ApiModelProperty("轮询组")
    private Integer pollerGroup;

    @ApiModelProperty("是否覆盖系统位置")
    @TableField("override_sysLocation")
    private Integer overrideSysLocation;

    @ApiModelProperty("备注")
    private String notes;

    @ApiModelProperty("端口关联模式")
    private Integer portAssociationMode;

    @ApiModelProperty("最大深度")
    private Integer maxDepth;

    @ApiModelProperty("是否禁用通知")
    private Integer disableNotify;

    @ApiModelProperty("是否忽略状态")
    private Integer ignoreStatus;

    @ApiModelProperty("区域")
    private Integer quyu;

    @ApiModelProperty("子区域")
    private Integer quyusub;

    @ApiModelProperty("标签1")
    private String tag1;

    @ApiModelProperty("标签2")
    private String tag2;

    @ApiModelProperty("标签3")
    private String tag3;

    @ApiModelProperty("标签4")
    private String tag4;

    @ApiModelProperty("标签5")
    private String tag5;

    @ApiModelProperty("标签6")
    private String tag6;

    @ApiModelProperty("标签7")
    private String tag7;

    @ApiModelProperty("标签8")
    private String tag8;

    @ApiModelProperty("标签9")
    private String tag9;

    @ApiModelProperty("标签10")
    private String tag10;

    @ApiModelProperty("标签11")
    private String tag11;

    @ApiModelProperty("标签12")
    private String tag12;

    @ApiModelProperty("标签13")
    private String tag13;

    @ApiModelProperty("线路")
    private String xianlu;

    @ApiModelProperty("SNMP启用状态")
    private String snmpyes;

    @ApiModelProperty("类型名称")
    private String typeName;

    @ApiModelProperty("是否监视ping0否1是")
    private Integer pingMonitor;

    @ApiModelProperty("手动类型")
    private String manualType;

}
